# Updating an existing Workspace Resource

This endpoint returns structured Workspace Resource objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the `results` array
and will be indexed by ID in the `workspace_resources` top-level JSON key.
Please see our [Response Format](#section/Response-Format) section for more information.

Endpoint: PUT /workspace_resources/{id}
Version: 1.0.0

## Path parameters:

  - `id` (integer, required)
    The ID of the Model.

## Query parameters:

  - `include` (string)
    Any of the below associations can be included in your request by providing the `include` param, e.g. `include=association1,association2`.
- `custom_field_values` (CustomFieldValue) - Retrieves the custom field values for the resource. The response will include `custom_field_value_ids`, which references the data in the `custom_field_values` top-level key.
- `external_references` (ExternalReference) - Includes references to external integrations for this object.
- `organization_membership` (OrganizationMembership) - Retrieves the organization memberships for the resource. The response will include `organization_membership_id`, which references the data in the `organization_memberships` top-level key.
- `participation` (Participation) - Retrieves the participation associated with the resource. The response will include `participation_id`, which references the data in the `participations` top-level key.
- `role` (Role) - Retrieves the role for this resource. The response will include `role_id`, which references the data in the `roles` top-level key.
- `user` (User) - Retrieves the user associated with the resource. The response will include `user_id`, which references the data in the `users` top-level key. For unnamed resources, the `user_id` will be `null`.
- `workspace` (Workspace) - Retrieves the workspace (project) the resource is in. The response will include `workspace_id`, which references the data in the `workspaces` top-level key.

  - `optional_fields` (array)
    Allows you to request one or more optional fields as an array.

## Request fields (application/json):

  - `workspace_resource` (object)

  - `workspace_resource.label` (string)
    A unique label that is automatically generated for a resource when it is created. Default resource labels in Kantata OX are based on role name and numerical order, but can be renamed by you.

  - `workspace_resource.user_id` (integer)
    The user ID associated with this resource.

  - `workspace_resource.role_id` (integer)
    The role ID associated with this resource. The role ID is a required attribute for unnamed resources.

  - `workspace_resource.auto_update_label` (boolean)
    If true, automatically updates resource labels to match roles associated with updated role IDs when labels are not provided. When a label is provided, that overrides this setting.

  - `workspace_resource.external_reference` (object)
    Typically populated programmatically by a third party system via an integration, this is an optional
object that holds data from an external system. It connects objects in an external system with objects in
Kantata OX (for example, to connect a Jira issue to a Kantata OX Project).

  - `workspace_resource.external_reference.service_name` (string, required)
    The provider name of the integration. If you are adding multiple external references to the same object, the `service_name` must be unique.

  - `workspace_resource.external_reference.service_model` (string, required)
    The object type of the external object this external reference belongs to.

  - `workspace_resource.external_reference.service_model_ref` (string, required)
    The object ID of the external object this external reference belongs to.

  - `workspace_resource.external_reference.status` (string)
    The status of the integration. Options are `successful`, `pending`,  or `failed`.

  - `workspace_resource.external_reference.external_message` (string)
    The message on the external object.

  - `workspace_resource.external_reference.external_link` (string)
    The link to the external object.

  - `workspace_resource.external_reference.external_status` (string)
    The status of the external object in the external system.

  - `workspace_resource.external_reference.locked` (boolean)
    Whether the subject is locked.

## Response 200 fields (application/json):

  - `count` (integer)

  - `meta` (object)

  - `meta.count` (integer)

  - `meta.page_count` (integer)

  - `meta.page_number` (integer)

  - `meta.page_size` (integer)

  - `results` (array)

  - `results.key` (string)

  - `results.id` (string)

## Response 400 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 401 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 403 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 404 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 422 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 503 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

